With recent increases in computer processing capabilities and affordability, full motion digital video devices are becoming more widely available. In particular, digital video capabilities have been incorporated into a wide range of devices including digital televisions, digital direct broadcast systems, wireless communication devices, portable digital assistants (PDAs), laptop computers, and desktop computers. These devices can provide significant improvements over conventional analog video systems in creating, modifying, transmitting, storing, and playing full motion video sequences.
Various video compression standards or processes have been established for communicating digital video sequences. The Moving Picture Experts Group (MPEG), for example, has developed a number of standards including MPEG-1, MPEG-2 and MPEG-4. Other standards include QuickTime™ technology developed by Apple Computer of Cupertino Calif., Video for Windows™ developed by Microsoft Corporation of Redmond, Wash., Indeo™ developed by Intel Corporation, RealVideo™ from RealNetworks, Inc. of Seattle, Wash., and Cinepak™ developed by SuperMac Inc.
Many of these standards achieve increased transmission rates by exploiting data compression. The MPEG standards, for example, utilize a graphics and video compression algorithm designed to transmit video and images over a narrower bandwidth. In particular, the MPEG standards incorporate video compression techniques that utilize similarities between successive image frames, referred to as temporal or interframe correlation, to provide interframe compression. The interframe compression techniques exploit data redundancy across frames by converting pixel-based representations of image frames to motion representations. In addition, the video compression techniques use similarities within image frames, referred to as spatial or intraframe correlation, allowing for intraframe compression in which the motion representations within an image frame can be further compressed. The intraframe compression is typically based upon conventional processes for compressing still images, such as discrete cosine transform (DCT) encoding.
To support the compression techniques, many digital video devices include an encoder/decoder (CODEC) for compressing and decompressing the digital video sequences. The CODEC operates on blocks of pixels within the sequence of video images. For MPEG, for example, the CODEC typically divides a video image frame to be transmitted into macroblocks comprising smaller image blocks. For each macroblock in the image frame, the CODEC searches the immediately preceding video frame to identify the most similar macroblock, and encodes the difference between the macroblocks for transmission, along with a motion vector that indicates which macroblock from the previous frame was used for encoding. The decoder receives the motion vector and encoded video data, and performs motion compensation to generate video sequences.